<!DOCTYPE HTML>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<html><head>
  <meta charset="utf-8">
  <title>Reference: align-self with overflow</title>
  <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1151213">
  <style type="text/css">
html,body {
    color:black; background-color:white; font-size:16px; padding:0; margin:0;
}
body { margin:40px; }
separator { clear:both; display:block; height:6px; }

.grid {
  display: block;
  float: left;
  position: relative;
  border: 1px solid;
  /* border-block-start: 2px solid blue; */
  border-block-start: 2px solid black;
  inline-size: 36px;
  block-size: 25px;
  margin-right: 20px;
  margin-bottom: 20px;
}
wrap {
  display: block;
  position: relative;
  offset-inline-start:1px;
  background: white;
  block-size:20px;
  inline-size:32px;
  border-block-start: 3px solid lightgrey;
}

span {
  display: block;
  position: absolute;
  width: 40px;
  height: 30px;
  background: grey;
  border-block-start: 2px solid blue;
  border-inline-start: 2px solid lime;
  margin: 1px 1px 2px 2px;
  justify-self: start;
}

abs1,abs2,abs3,abs4 {
  position: absolute;
  top:0;left:0;bottom:0;right:0;
  background: lightgrey;
}
abs1 { bottom: 22px; }
abs2 { top: 23px; }
abs3 { left: 33px; }
abs4 { right: 35px; }

.hl { writing-mode: horizontal-tb; direction:ltr; }
.hr { writing-mode: horizontal-tb; direction:rtl; }
.vl { writing-mode: vertical-lr; }
.vr { writing-mode: vertical-rl; }
.vlr { writing-mode: vertical-lr; direction:rtl; }
.vrl { writing-mode: vertical-rl; direction:ltr; }

.unsafe.hl.aend,  .unsafe.hl.aflexend  { offset-block-start:-15px; }
.unsafe.vrl.aend, .unsafe.vrl.aflexend { offset-inline-start:-15px; }
.unsafe.hl.acenter { offset-block-start:-7px; }
.unsafe.vrl.acenter { offset-inline-start:-7px; }
.astretch2 { width:40px; height:15px; }
.astretch3 { height:15px; }
.astretch4 { width:0; }
.astretch5 { width:0; max-width:38px; }
.astretch6 { height:15px; max-height:30px; }
.astretch7 { width:0; height:15px; max-width:38px; max-height:30px; }


</style>
</head>
<body>

<script>
var gridwm = [ "hl" ];
var wm = [ "hl unsafe", "vrl unsafe", "hl safe", "vrl safe" ];
var test = [ "start", "end", "flexstart", "flexend", "center", "left", "right",
             "stretch1", "stretch2", "stretch3", "stretch4", "stretch5",
             "stretch6", "stretch7", "auto" ];
for (var i = 0; i < gridwm.length; ++i) {
  for (var j = 0; j < wm.length; ++j) {
    for (var k = 0; k < test.length; ++k) {
      var div = document.createElement("div");
      div.className = "grid " + gridwm[i];
      var wrap = document.createElement("wrap");
      div.appendChild(wrap);
      var span = document.createElement("span");
      span.className = wm[j] + " a" + test[k];
      div.appendChild(span);
      wrap.appendChild(span);
      div.appendChild(document.createElement("abs1"));
      div.appendChild(document.createElement("abs2"));
      div.appendChild(document.createElement("abs3"));
      div.appendChild(document.createElement("abs4"));

      document.body.appendChild(div)
    }
    document.body.appendChild(document.createElement("separator"));
  }
}
</script>


</body>
</html>
